///**  
//* 北京智普信科技股份有限公司
//* Copyright Right (c) 2012-2015 Beijing Zeepson technology Co.,Ltd. 
//* http://www.candowin.com/
//* All right reserved. 
//*/ 
//
//package com.chenjun.common.tool;
//
//import java.io.ByteArrayInputStream;
//import java.io.File;
//import java.io.IOException;
//import java.io.Serializable;
//import java.util.List;
//import java.util.UUID;
//
//import org.apache.commons.lang3.StringUtils;
//
//import com.aliyun.oss.OSSClient;
//import com.aliyun.oss.model.CannedAccessControlList;
//import com.aliyun.oss.model.DeleteObjectsRequest;
//import com.aliyun.oss.model.DeleteObjectsResult;
//import com.aliyun.oss.model.PutObjectResult;
//
//
///** 
// * @Title: AliyunOSSTools 
// * @Description: 阿里云服务上传功能
// * @author cuics
// * @date 2016年6月13日 上午11:21:47 
// * @version V1.0   
// */
//public final class AliyunOSSTools {
//	
//	// endpoint以杭州为例，其它region请按实际情况填写
//	
//	public static final String protocol					= "http://";
//	public static final String endpoint 				= "oss-cn-shanghai.aliyuncs.com";
//	// accessKey请登录https://ak-console.aliyun.com/#/查看
//	public static final String accessKeyId 				= "LTAIqe0wtY2w1m53";
//	public static final String accessKeySecret 			= "CqtR59Z7WZEXenQASke5QWzxTLYxY1";
//	
//	public static  String bucketName 				= 	"dwgroup-image";
//	public static final String defaul_bucketName	=	"dwgroup-image";
//	
//	public static  String endpoint_serverurl		= (protocol+bucketName+"."+endpoint);
//	public static final String region					= "oss-cn-shanghai";
//	/**
//	 * 
//	 * 
//	 * @return
//	 * OSSClient
//	 */
//	public static OSSClient getOssClientInstance(){
//		OSSClient ossClient = new OSSClient(protocol+endpoint, accessKeyId,accessKeySecret);
//		AliyunOSSTools.bucketName=defaul_bucketName;
//		AliyunOSSTools.endpoint_serverurl		= (protocol+bucketName+"."+endpoint);
//		boolean exists = ossClient.doesBucketExist(bucketName);
//		if(!exists){
//			ossClient.createBucket(bucketName);
//			ossClient.setBucketAcl(bucketName, CannedAccessControlList.PublicRead);
//		}
//		return ossClient;
//	}
//	
//	public static OSSClient getOssClientInstance(String bucketName){
//		OSSClient ossClient = new OSSClient(endpoint, accessKeyId,accessKeySecret);
//		if(!StringUtils.isEmpty(bucketName)){
//			AliyunOSSTools.bucketName = bucketName;
//		}
//		AliyunOSSTools.endpoint_serverurl		= (protocol+bucketName+"."+endpoint);
//		boolean exists = ossClient.doesBucketExist(bucketName);
//		if(!exists){
//			ossClient.createBucket(bucketName);
//			ossClient.setBucketAcl(bucketName, CannedAccessControlList.PublicRead);
//		}
//		return ossClient;
//	}
//	
//	/**
//	 * 上传文件的图片到远程服务器上
//	 * @param fileName  待上传文件路径
//	 * @param isRename  是否重新命名
//	 * @return
//	 * String  图片上传后的文件路径
//	 */
//	public static Response uploadLocalFile(String filePath,boolean isRename){
//		
//		String url = endpoint_serverurl;
//		
//		Response resp = new Response();
//		
//		OSSClient ossClient = getOssClientInstance();
//		
//		int fLen = filePath.length();
//		int subLen = filePath.lastIndexOf("/");
//		String fileName = filePath.substring(subLen+1, fLen);
//		resp.setOriginalName(fileName);
//		resp.setFileName(fileName);
//		if(isRename){//重命名
//			subLen = filePath.lastIndexOf(".");
//			fileName = UUID.randomUUID() + filePath.substring(subLen, fLen);
//			resp.setFileName(fileName);
//		}
//		
//		// 上传文件
//		PutObjectResult res = ossClient.putObject(bucketName, fileName, new File(filePath));
//		// 关闭client
//		ossClient.shutdown();
//		
//		resp.setImgPath("/"+fileName);
//		resp.setServerPath(url+resp.getImgPath());
//		
//		return resp;
//	}
//	/**
//	 * 上传文件的图片到远程服务器上
//	 * @param fileName  待上传文件路径
//	 * @param isRename  是否重新命名
//	 * @return
//	 * String  图片上传后的文件路径
//	 */
//	@SuppressWarnings("restriction")
//	public static Response uploadFileStream(String bucketName,String dataString){			
//		Response resp = new Response();
//		OSSClient ossClient = getOssClientInstance(bucketName);
//		String url = endpoint_serverurl;
//		String fileName = "";
//		fileName = UUID.randomUUID() + ".png";
//		resp.setFileName(fileName);
//		BASE64Decoder decoder = new BASE64Decoder();
//		byte[] data =null;
//		try {
//			data = decoder.decodeBuffer(dataString);
//		} catch (IOException e) {
//			// TODO Auto-generated catch block
//			e.printStackTrace();
//		}
//		// 上传文件
//		ossClient.putObject(bucketName, fileName, new ByteArrayInputStream(data));
//		// 关闭client
//		ossClient.shutdown();
//		resp.setImgPath("/"+fileName);
//		resp.setServerPath(url+resp.getImgPath());	
//		return resp;
//	}	
//	
//	
//	@SuppressWarnings("restriction")
//	public static Response uploadFileStream4Package(String bucketName,String dataString,String extName){			
//		Response resp = new Response();
//		OSSClient ossClient = getOssClientInstance(bucketName);
//		String url = endpoint_serverurl;
//		String fileName = "";
//		fileName = UUID.randomUUID() + "."+extName;
//		resp.setFileName(fileName);
//		BASE64Decoder decoder = new BASE64Decoder();
//		byte[] data =null;
//		try {
//			data = decoder.decodeBuffer(dataString);
//		} catch (IOException e) {
//			// TODO Auto-generated catch block
//			e.printStackTrace();
//		}
//		// 上传文件
//		ossClient.putObject(bucketName, fileName, new ByteArrayInputStream(data));
//		// 关闭client
//		ossClient.shutdown();
//		resp.setImgPath("/"+fileName);
//		resp.setServerPath(url+resp.getImgPath());	
//		return resp;
//	}	
//	
//	/**
//	 * 
//	 * 删除单个文件
//	 * @param key  文件名(xxxxxx.png)
//	 * @param bucketName(存储空间)
//	 * @return
//	 * Response
//	 */
//	public static void deleteOneFile(String key,String bucketName){
//		OSSClient ossClient = getOssClientInstance(bucketName);	
//		// 删除Object
//		ossClient.deleteObject(bucketName,key);
//		// 关闭client
//		ossClient.shutdown();
//	}
//	
//	/**
//	 * 
//	 * 批量删除文件
//	 * @param keys 文件名list(xxxxxx.png,yyyyy.png)
//	 * @param bucketName(存储空间)
//	 * @return
//	 * List<String> 没一个文件的删除结果
//	 */
//	public static List<String> deleteBatchFile(List<String> keys,String bucketName){
//		OSSClient ossClient = getOssClientInstance(bucketName);	
//		DeleteObjectsResult deleteObjectsResult = ossClient.deleteObjects(new DeleteObjectsRequest(bucketName).withKeys(keys));
//		List<String> deletedObjects = deleteObjectsResult.getDeletedObjects();
//		// 关闭client
//		ossClient.shutdown();
//		return deletedObjects;
//	}
//    
//    /**
//     * @Title: Response
//     * @Description: 返回路径
//     * @author cuics
//     * @date 2016年6月13日 下午2:19:56 
//     * @version V1.0
//     */
//    public static class Response implements Serializable{
//    	
//    	private String serverPath;
//    	private String fileName;
//    	private String originalName;
//    	private String imgPath;
//    	
//		public String getServerPath() {
//			return serverPath;
//		}
//		public void setServerPath(String serverPath) {
//			this.serverPath = serverPath;
//		}
//		public String getFileName() {
//			return fileName;
//		}
//		public void setFileName(String fileName) {
//			this.fileName = fileName;
//		}
//		public String getOriginalName() {
//			return originalName;
//		}
//		public void setOriginalName(String originalName) {
//			this.originalName = originalName;
//		}
//		public String getImgPath() {
//			return imgPath;
//		}
//		public void setImgPath(String imgPath) {
//			this.imgPath = imgPath;
//		}
//		
//		@Override
//		public String toString() {
//			StringBuilder sb = new StringBuilder();
//		    sb.append(getClass().getSimpleName());
//		    sb.append(" {");
//		    sb.append("'serverPath':'").append(getServerPath()+"',");
//		    sb.append("'fileName':'").append(getFileName()+"',");
//		    sb.append("'originalName':'").append(getOriginalName()+"',");
//		    sb.append("'imgPath':'").append(getImgPath()+"'");
//		    sb.append("}");
//		    return sb.toString();
//		}
//		
//    }
//}
